package edu.bbu.license.client.android.gui.files;

import java.util.List;

import android.view.View.OnClickListener;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemLongClickListener;
import edu.bbu.license.client.android.services.file.model.FileModel;

public interface FilesView {

	public static final int LOCAL_FILES_PAGE = 0;
	public static final int SERVER_FILES_PAGE = 1;
	
	public void openGuestView();
	public void closeFilesView();
	
	public void openFileTrafficView();
	public void openSettingsView();
	
	public void openNewFolderDialog();
	public void openLocalFilesPressDialog();
	public void openServerFilesPressDialog();
	
	public void setHeaderLogoutButtonListener(OnClickListener onClickListener);
	public void setHeaderTrafficButtonListener(OnClickListener onClickListener);
	public void setHeaderSettingsButtonListener(OnClickListener onClickListener);
	
	public void setBackButtonListener(OnClickListener onClickListener);
	public void setRefreshButtonListener(OnClickListener onClickListener);
	public void setNewDirectoryButtonListener(OnClickListener onClickListener);
	public void setSynchronizeButtonListener(OnClickListener onClickListener);
	
	public void setLocalFilesItemClickListener(OnItemClickListener onItemClickListener);
	public void setServerFilesItemClickListener(OnItemClickListener onItemClickListener);	
	
	public void setLocalFilesItemLongClickListener(OnItemLongClickListener onLongClickListener);
	public void setServerFilesItemLongClickListener(OnItemLongClickListener onLongClickListener);	
	
	public boolean isLocalFilesViewActive();
	public boolean isServerFilesViewActive();
	
	public void fillLocalFilesGrid(List<FileModel> fileList);
	public void fillServerFilesGrid(List<FileModel> fileList);
	
	public void setLocalFilesCurrentDir(String currentdir);
	public void setServerFilesCurrentDir(String currentdir);
	
	public void showLocalFilesGrid();
	public void showLocalFilesGridProgressBar();
	public void showLocalFilesGridErrorText();
	public void showServerFilesGrid();
	public void showServerFilesGridProgressBar();
	public void showServerFilesGridErrorText();
	
	public void setLocalFileGridErrorText(String message);
	public void setLocalFileGridErrorText(int messageID);
	public void setServerFileGridErrorText(String message);
	public void setServerFileGridErrorText(int messageID);
	
	public void setLocalSyncDirectorySetButtonListener(OnClickListener onClickListener);
	
}
